Sementara koleksi dasar seperti array atau slice terbatas pada penyimpanan elemen-elemen dengan tipe data yang sama, struktur (structs) memungkinkan kita mengelompokkan tipe-tipe yang berbeda menjadi satu kesatuan tunggal. Hal ini sangat penting untuk eksplorasi planet Mars, di mana telemetri melibatkan data campuran seperti nama (string) dan koordinat (float64).
1. Pengelompokan Semantik vs. Keseragaman
Berbeda dengan slice float yang hanya memberi tahu Anda "berapa banyak," struktur menyediakan wadah yang diberi label. Definisi: Sementara koleksi memiliki tipe yang sama, struktur memungkinkan Anda mengelompokkan hal-hal yang berbeda bersama-sama. Hal ini mencegah "keacakan variabel" dengan mengelompokkan data terkait ke dalam objek bernama.
2. Atomisitas dalam Operasi
Dengan mengelompokkan variabel, kita mencapai atomisitas. Fungsi-fungsi seperti func Step(a, b Universe) atau func (u Universe) Next(x, y int) bool dapat memanipulasi seluruh lingkungan alih-alih mengejar primitif yang terlepas. Untuk tugas-tugas sementara, struktur anonim (seperti pada Daftar 21.1) memberikan organisasi langsung tanpa definisi tipe formal.